package edu.wust;

import java.util.Arrays;

public class exam49 {
//  049. 素数排列
//1487, 4817, 8147 这个序列，每个比前一个递增 3330，而且这个序列有两个特点：
//            1. 序列中的每个数都是质数。
//            2. 每个四位数都是其他数字的一种排列。
//    没有一位、两位和三位素数组成的序列满足上面的性质，但是还有一组满足这个性质的四位
//    数递增序列。这个序列的三个数前后拼接组成的十二位数是多少？
//    答案：296962999629
    public static boolean isPrime(int n){
        if(n<2)
            return false;
        if(n==2)
            return true;
        int t=(int)Math.sqrt(n);
        for(int i=2;i<=t;++i){
            if(n%i==0)
                return false;
        }
        return true;
    }
    public static boolean circle(int a,int b,int c){
        String s1=Integer.toString(a),s2=Integer.toString(b),s3=Integer.toString(c);
        char[] arr1=s1.toCharArray(),arr2=s2.toCharArray(),arr3=s3.toCharArray();
        Arrays.sort(arr1);
        Arrays.sort(arr2);
        Arrays.sort(arr3);
        String s11=new String(arr1),s22=new String(arr2),s33=new String(arr3);
        if(s11.equals(s22)&&s22.equals(s33))
            return true;
        return false;
    }
    public static void main(String[] args) {
        for(int i=1001;i<3340;i+=2){
            int a=i,b=a+3330,c=b+3330;
            if(isPrime(a)&&isPrime(b)&&isPrime(c)&&circle(a,b,c)){
                System.out.println(String.format("%d%d%d",a,b,c));
            }
        }
    }
}


